package cn.iocoder.yudao.module.crm.api.module;

import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.crm.api.module.dto.CrmModuleDTO;
import cn.iocoder.yudao.module.crm.controller.admin.module.vo.module.CrmModuleSaveReqVO;
import cn.iocoder.yudao.module.crm.dal.dataobject.module.CrmModuleDO;
import cn.iocoder.yudao.module.crm.service.module.CrmModuleService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class CrmModuleApiImpl implements CrmModuleApi {
    @Resource
    private CrmModuleService crmModuleService;

    @Override
    public List<CrmModuleDTO> getEnableModuleListByTenant(Long tenantId) {
        return BeanUtils.toBean(crmModuleService.getEnableModuleListByTenant(tenantId), CrmModuleDTO.class);
    }

    @Override
    public Long createModule(CrmModuleDTO crmModuleDTO) {
        CrmModuleSaveReqVO moduleSaveReqVO = BeanUtils.toBean(crmModuleDTO, CrmModuleSaveReqVO.class);
        Long moduleId = crmModuleService.createModule(moduleSaveReqVO);
        return moduleId;
    }

    @Override
    public CrmModuleDTO getEnableModuleListByTenantAndName(Long tenantId, String name) {
        CrmModuleDO crmModuleDO = crmModuleService.getEnableModuleListByTenantAndName(tenantId, name);
        CrmModuleDTO crmModuleDTO = BeanUtils.toBean(crmModuleDO, CrmModuleDTO.class);
        return crmModuleDTO;
    }
}
